binarni vyhledavani

Otázka od: David Kopecek

10. 11. 2003 8:12

Zdravim konferenci.

Nemate nekdo optimalni algoritmus na prohledavani binarnich souboru. Mam takovo
malou databazi asi 10.000 zaznamu binarnich
retezcu (antivir) a chtel bych prohledat soubor na vyskyt nektereho z techto
10.000 retezcu.

ja jsem to delal dvema zpusoby

a to bud

Cely binarni soubor jsem prevedl do stringu pomoci hexa tvaru. tzn. ze mi
vznikl soubor
FE3323DE83DA................................... to znamena dvakrat vetsi nez
ten normalni. Pak jsem
jenom prochazel jednotlive zaznamy a pak jsem volal strpos(file,virret[i]).
Touhle metodou jsem
nalezl spravny retezec az po 3 sekundach. Spravny byl az na pozici 9368.

Druhej zpusob byl rychlejsi. Soubor jsem si nacetl do memorystream a a pak jsem
prochazel jedntlive binarni
zaznamy. Z binarniho zaznamu jsem si vzal prvni dva znaky (byte ) a prohledaval
jsem cely soubor na vyskyt daneho
bytu. Po nalezeni jsem provedl kontrolu nasledujiciho znaku na dalsi druhy byte
hledaneho retezce a pokud se shodoval
tak jsem porovnal dalsich 6 byte. pokud se schodovali provedl jsem kontrolu
celeho retezce. a tak to pokracovalo do te doby
do kud jsem neprohledal vsechny zaznamy... tahle metoda trvala
8 sekund a prohledavalo se 3 soubory. Ve vsech pripadech byl nalezen onen
retezec.

Ale stale se mi to zda docela pomale . Zajimalo by me jak to delaji antivirove
programy
Poradny antivir Kaspersky ma 77.000 zaznamu a a prohledani souboru mu moc
dlouho netrva. Totez
plati i pro NOD32...

Diky David






----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)

Odpovedá: Jiri Virt

10. 11. 2003 8:34

mrkni do msdn .. hledej binary AND tree


mozna to je ono, co hledas.

Jirka




----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)

Odpovedá: Daniel Frantik

10. 11. 2003 9:34

> -----Original Message-----
> Subject: Re: binarni vyhledavani
> mrkni do msdn .. hledej binary AND tree mozna to je ono, co hledas.
Osobne bych radeji pouzil hashovaci tabulku... projedes hashe a pak uz jen
sekvencne tech par retezcu, co maji stejny hash...
Danik





----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)